package com.neusoft.service;

import com.neusoft.entity.CheckRequest;
import com.neusoft.utils.Result;

import java.util.List;

/**
 * @author akemihomurasama
 */
public interface CheckRequestService {
    /**
     * 医生添加检查申请
     *
     * @param checkRequest 申请信息
     * @return 申请结果
     */
    Result addCheck(CheckRequest checkRequest);

    /**
     * 根据患者id查询患者已开立的检查申请
     *
     * @param registerId 患者id
     * @return 申请列表
     */
    Result queryCheckReqListById(int registerId);

    /**
     * 根据检查申请的状态查询申请信息
     *
     * @param checkState 检查申请的状态
     * @return 申请列表
     */
    Result queryReqByState(String checkState);

    /**
     * 查询患者已缴费的检查申请的医技项目，同时查询检查申请id
     *
     * @param registerId 患者id
     * @param checkState 检查申请状态
     * @return 医技项目列表，检查申请id
     */
    Result queryTechByPatient(int registerId, String checkState);

    /**
     * 患者开始检查业务
     *
     * @param id         检查申请id
     * @param employeeId 医生id
     * @return 更新结果
     */
    Result patientBeginCheck(int id, int employeeId);

    /**
     * 患者检查完成后更新患者检查申请的信息
     *
     * @param checkRequest 信息
     * @return 跟新结果
     */
    Result patientUpdateCheckRes(CheckRequest checkRequest);
    /**
     * 根据检查申请id查询检查申请
     * @param id 检查申请id
     * @return 检查申请信息
     */
    Result queryCheckReqById(Integer id);

    /**
     * 查询患者所有检查项目
     * @param registerId 患者id
     * @return 查询结果
     */
    Result queryCheckByRegisterId(int registerId);
}
